Matthias Clasen [Tue, 7 Jun 2022 18:57:53 +0000 (18:57 +0000)]
Merge branch 'node-editor-scale' into 'main'
node-editor: Add a zoom button
See merge request GNOME/gtk!4804
Benjamin Otte [Tue, 7 Jun 2022 18:20:43 +0000 (18:20 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
inspector: Allow searching for editable text
See merge request GNOME/gtk!4801
Matthias Clasen [Tue, 7 Jun 2022 17:39:22 +0000 (13:39 -0400)]
node-editor: Add a zoom button
This is a bit more convenient than manually
adding a transform node in the text editor.
Benjamin Otte [Tue, 7 Jun 2022 17:12:17 +0000 (19:12 +0200)]
listview: Fix clipping for horizontal listviews
Fixes a bug introduced with
commit
39645d32582892bc4fd3bb55ea5d11af860f0efd
Benjamin Otte [Tue, 7 Jun 2022 15:32:03 +0000 (17:32 +0200)]
inspector: Allow searching for editable text
... and display it in the label column.
Hugo Carvalho [Tue, 7 Jun 2022 13:54:09 +0000 (13:54 +0000)]
Update Portuguese translation
Yuri Chornoivan [Tue, 7 Jun 2022 06:15:52 +0000 (06:15 +0000)]
Update Ukrainian translation
Benjamin Otte [Thu, 19 May 2022 03:40:47 +0000 (05:40 +0200)]
video: Fix typo in docs
Benjamin Otte [Tue, 7 Jun 2022 01:36:06 +0000 (01:36 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
listview: cull listitems that are out of view
See merge request GNOME/gtk!4799
Benjamin Otte [Wed, 1 Jun 2022 02:29:15 +0000 (04:29 +0200)]
listview: cull listitems that are out of view
Use set_child_visible(FALSE) on those widgets and don't allocate them.
This should usually be the majority of items, so it's quite a worthwhile
addition.
Idea by Ivan Molodetskikh.
Related: #3334
Matthias Clasen [Mon, 6 Jun 2022 22:45:44 +0000 (22:45 +0000)]
Merge branch 'fix-ui-file-translation-main' into 'main'
Fix ui files to work for translations
Closes #4957
See merge request GNOME/gtk!4798
Matthias Clasen [Mon, 6 Jun 2022 22:29:14 +0000 (18:29 -0400)]
Fix ui files to work for translations
We need to keep using translatable="yes", since
that is what the installed its file is looking
for.
Fixes: #4957
Matthias Clasen [Mon, 6 Jun 2022 13:12:15 +0000 (13:12 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
gdk: Improve GdkTimeCoord docs
See merge request GNOME/gtk!4795
Matthias Clasen [Mon, 6 Jun 2022 12:55:51 +0000 (08:55 -0400)]
gdk: Improve GdkTimeCoord docs
Danial Behzadi [Mon, 6 Jun 2022 08:13:32 +0000 (08:13 +0000)]
Update Persian translation
Aleksandr Melman [Sun, 5 Jun 2022 12:34:50 +0000 (12:34 +0000)]
Update Russian translation
Yuri Chornoivan [Sun, 5 Jun 2022 08:26:34 +0000 (08:26 +0000)]
Update Ukrainian translation
Benjamin Otte [Sat, 4 Jun 2022 20:26:58 +0000 (20:26 +0000)]
Merge branch 'gl-api-es-fix' into 'main'
glcontext: Respect ES API when getting gl version from shared context
Closes #4763
See merge request GNOME/gtk!4687
Pablo Correa Gómez [Mon, 30 May 2022 18:18:15 +0000 (20:18 +0200)]
glcontext: Simplify get_required_version api
Simplify the API to just return the requirements that the user
has asked for. The rest of the code was undocumented and previously
used as a buggy source for a default value from internal code.
Since the buggy code is now fixed, remove all unnecessary cruft.
Pablo Correa Gómez [Wed, 25 May 2022 13:23:38 +0000 (15:23 +0200)]
glcontext: Do not check for correctness in set_required_version
There are two reasons for this:
* First, the refactored realize code now makes sure that no
context with unsupported version is ever created.
* Second, this code could bump into false possitives and negatives, since
the user is not requested, nor expected to set_required_version
in any specific order relative to set_allowed_apis. Therefore,
some version could be rejected or accepted based on a set of
allowed apis that the user has not yet correctly configured.
Pablo Correa Gómez [Mon, 30 May 2022 19:11:28 +0000 (21:11 +0200)]
glcontext-glx: Refactor realize function
Mimic the behavior of the egl context creation by stablishing
some sane logic for the api and version used. Split the decision
of the type of context (api, legacy) and the creation of a context
of a certain version and all its properties.
Pablo Correa Gómez [Fri, 6 May 2022 19:43:30 +0000 (21:43 +0200)]
glcontext: Refactor realize function, fix interaction with shared context
Pablo Correa Gómez [Fri, 27 May 2022 23:01:19 +0000 (01:01 +0200)]
macosglcontext: Do not rely on default from get_required_version
get_required_version cannot warranty to return any default. Instead,
fetch the user requisites clipped by the requirements in our backend.
Pablo Correa Gómez [Fri, 27 May 2022 22:58:43 +0000 (00:58 +0200)]
glcontext-win32-wgl: Respect user required version, use display as minimum
By setting and then getting the required version in a context, the code
was not respecting user requirements. Instead, simply get the requested
version by the user clipped by the requirements (display version)
Pablo Correa Gómez [Mon, 30 May 2022 18:14:53 +0000 (20:14 +0200)]
glcontext: Add internal get_clipped_version function
It is useful for backends to get user set preferences while
ensuring the correctness of the result, which will be always
greater or equal than the minimum version provided
Pablo Correa Gómez [Mon, 9 May 2022 22:21:40 +0000 (00:21 +0200)]
glcontext: Improve get_version documentation
Matthias Clasen [Sat, 4 Jun 2022 10:44:48 +0000 (10:44 +0000)]
Merge branch 'expand-builtin-icontheme' into 'main'
Add more directories to the builtin hicolor index
Closes #4960
See merge request GNOME/gtk!4786
Matthias Clasen [Thu, 2 Jun 2022 21:24:10 +0000 (21:24 +0000)]
Merge branch 'wip/carlosg/activation-roundtrip-fix' into 'main'
gdk/wayland: Check the GdkSurface wl_surface before using it for activation
Closes gnome-control-center#1862
See merge request GNOME/gtk!4789
Carlos Garnacho [Thu, 2 Jun 2022 21:05:39 +0000 (23:05 +0200)]
gdk/wayland: Check the GdkSurface wl_surface before using it for activation
Double check the GdkSurface has a wl_surface before using it as the activation
token source, since we cannot use NULL surfaces here.
Fixes: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1862
Carlos Garnacho [Thu, 2 Jun 2022 21:04:40 +0000 (23:04 +0200)]
gdk/wayland: Dispatch GdkAppLaunchContext activation token in its own queue
Use a separate queue to dispatch the token object exclusively, just like we
do on the GdkSurface activation paths.
Matthias Clasen [Thu, 2 Jun 2022 17:13:53 +0000 (17:13 +0000)]
Merge branch 'ebassi/a11y-text-extents' into 'main'
a11y: Implement atspi.Text.GetCharacterExtents for GtkTextView
See merge request GNOME/gtk!4754
Carlos Garnacho [Thu, 2 Jun 2022 12:32:41 +0000 (14:32 +0200)]
a11y: Transform GetCharacterExtents coords to native surface ones
These coordinates are "window"-relative, so transform textview coordinates
to the coordinate system of the GtkNative containing it.
Matthias Clasen [Thu, 2 Jun 2022 10:38:12 +0000 (06:38 -0400)]
Add more directories to the builtin hicolor index
We haven't had any scalable directories in this list.
Add some. Since we seem to have settled on including
just actions and status as subdirectories for each
size, add scalable/actions and scalable/status.
Fixes: #4960
Matthias Clasen [Wed, 1 Jun 2022 18:54:54 +0000 (18:54 +0000)]
Merge branch 'wip/chergert/GTK_DEBUG_TEXT_DIR' into 'main'
main: add GTK_DEBUG_TEXT_DIR environment variable
See merge request GNOME/gtk!4768
Christian Hergert [Wed, 1 Jun 2022 18:26:44 +0000 (11:26 -0700)]
gtkmain: add support for GTK_DEBUG=invert-text-dir
This allows inverting the default text-direction in an application for
debugging, testing, and QA purposes. IDEs such as Builder may automate this
to encourage more application developers to test with a text-direction
different than their own.
Matthias Clasen [Wed, 1 Jun 2022 00:13:44 +0000 (00:13 +0000)]
Merge branch 'wip/chergert/fix-lookup-with-interfaces' into 'main'
builderparser: fix <lookup/> with interface types
See merge request GNOME/gtk!4782
Christian Hergert [Tue, 31 May 2022 22:58:21 +0000 (15:58 -0700)]
builderparser: fix <lookup/> with interface types
If we have a <lookup name="foo" type="SomeInterface"> a runtime warning
would be emitted and the expression would fail to be created. This is
because the interfaces will likely be a GObject as well, meaning we check
the object type branch instead of the interface.
Instead, we need to use the fundamental type like other parts of the
expression system use.
Matthias Clasen [Mon, 30 May 2022 21:05:34 +0000 (21:05 +0000)]
Merge branch 'matthiasc/for-main' into 'main'
shortcutcontroller: Fix a typo
See merge request GNOME/gtk!4778
Matthias Clasen [Mon, 30 May 2022 20:24:02 +0000 (16:24 -0400)]
shortcutcontroller: Fix a typo
Pablo Correa Gómez [Mon, 30 May 2022 18:47:40 +0000 (20:47 +0200)]
glcontext: Improve documentation on get_use_es api
Carlos Garnacho [Mon, 30 May 2022 09:55:29 +0000 (09:55 +0000)]
Merge branch 'gesture-click-unpaired-release-nullable-sequence' into 'main'
Mark sequence parameter in GtkGestureClick::unpaired-release signal as nullable
See merge request GNOME/gtk!4777
Sebastian Dröge [Mon, 30 May 2022 08:33:59 +0000 (11:33 +0300)]
Mark sequence parameter in GtkGestureClick::unpaired-release signal as nullable
Aurimas Černius [Sun, 29 May 2022 20:05:31 +0000 (23:05 +0300)]
Updated Lithuanian translation
Matthias Clasen [Sat, 28 May 2022 15:34:13 +0000 (15:34 +0000)]
Merge branch 'fix-tests-with-recent-glib' into 'main'
Avoid g_log_set_writer_func in tests
See merge request GNOME/gtk!4772
Matthias Clasen [Sat, 28 May 2022 14:17:47 +0000 (10:17 -0400)]
Avoid g_log_set_writer_func in tests
It is not usable anymore since GLib 2.72.
Luming Zh [Sat, 28 May 2022 01:52:42 +0000 (01:52 +0000)]
Update Chinese (China) translation
Matthias Clasen [Fri, 27 May 2022 22:18:26 +0000 (22:18 +0000)]
Merge branch 'headerbar-demo-upgrade' into 'main'
Make our demos more likable
See merge request GNOME/gtk!4769
Matthias Clasen [Fri, 27 May 2022 21:34:55 +0000 (17:34 -0400)]
Make our demos more likable
Nobody likes Facebook.
Everybody loves the Eagles.
Matthias Clasen [Fri, 27 May 2022 16:47:38 +0000 (16:47 +0000)]
Merge branch 'wayland-cursor-scale2' into 'main'
wayland: scale cursors to the right size
See merge request GNOME/gtk!4766
Matthias Clasen [Fri, 27 May 2022 14:10:27 +0000 (10:10 -0400)]
wayland: scale cursors to the right size
When loading cursors at scale, we expect the
cursor images to have a size of scale * size.
If we don't find such images, load them at their
unscaled size and scale them up ourselves.
Without this, cursors will appear in unexpected
sizes depending on scales and themes.
Related: #4746
Matthias Clasen [Fri, 27 May 2022 14:24:54 +0000 (14:24 +0000)]
Merge branch 'main' into 'main'
GtkIMContextSimple: array bounds was not correctly checked
Closes #4771
See merge request GNOME/gtk!4748
Matthias Clasen [Fri, 27 May 2022 14:10:47 +0000 (14:10 +0000)]
Merge branch 'use-flathub-link' into 'main'
Make the formatted link more neutral
See merge request GNOME/gtk!4765
Matthias Clasen [Fri, 27 May 2022 12:43:06 +0000 (08:43 -0400)]
Make the formatted link more neutral
There have been complaints about company names in
our demos. Lets use something else.
Part of: #4716
Matthias Clasen [Fri, 27 May 2022 12:26:24 +0000 (12:26 +0000)]
Merge branch 'update-initial-layout' into 'main'
vulkan: Set initial layout to undefined
See merge request GNOME/gtk!4706
Matthias Clasen [Fri, 27 May 2022 12:25:48 +0000 (12:25 +0000)]
Merge branch 'update-command-buffer-freeing' into 'main'
vulkan: Don't attempt to free 0 command buffers
See merge request GNOME/gtk!4705
Matthias Clasen [Fri, 27 May 2022 10:58:12 +0000 (10:58 +0000)]
Merge branch 'wayland-cursor-scale' into 'main'
wayland: Sanity check cursor image size
Closes #4746
See merge request GNOME/gtk!4761
Matthias Clasen [Fri, 27 May 2022 02:23:31 +0000 (22:23 -0400)]
wayland: Make cursors have the right size
The Wayland protocol requires that width and height
of cursor surfaces is an integer multiple of the
surface scale. Make it so.
Fixes: #4746
Matthias Clasen [Fri, 27 May 2022 02:28:57 +0000 (22:28 -0400)]
wayland: Sanity check cursor image size
On Wayland it is a protocol violation to upload buffers with
dimensions that are not an integer multiple of the buffer scale.
Until recently, Mutter did not enforce this. When it started
doing so, some users started seeing crashes in GTK apps because the
cursor theme ended up with e.g. a 15x16 pixel image at scale of 2.
Add a small sanity check for this case.
Matthias Clasen [Thu, 26 May 2022 12:23:56 +0000 (12:23 +0000)]
Merge branch 'TTMaZa-LGPL-vs-GPL' into 'main'
GDK is LGPL-2.1-or-later not GPL-2.1-or-later, right?
See merge request GNOME/gtk!4755
Matthias Clasen [Thu, 26 May 2022 11:43:56 +0000 (11:43 +0000)]
Merge branch 'wip/chergert/fix-sysprof-wrapper' into 'main'
build: fix sysprof default options
See merge request GNOME/gtk!4759
Matthias Clasen [Thu, 26 May 2022 10:03:39 +0000 (10:03 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
x11: Always update shadow size
Closes #4136
See merge request GNOME/gtk!4758
Christian Hergert [Thu, 26 May 2022 05:52:34 +0000 (22:52 -0700)]
build: fix sysprof default options
Sysprof just recently cleaned up it's meson_options.txt and this makes
the tracking of the master branch match the new values.
Benjamin Otte [Thu, 26 May 2022 02:36:14 +0000 (04:36 +0200)]
x11: Always update shadow size
Not updating shadow size unconditionally would lead to shadow size not
being set on map, which would lead mutter to think that we are a Window
without extents and then become confused when we suddenly set some.
Make sure that doesn't happen by always having shadows set on map, just
like GTK3.
Fixes #4136
Emmanuele Bassi [Wed, 25 May 2022 14:29:41 +0000 (14:29 +0000)]
Merge branch 'fix-stack-page-at-spi-parent' into 'main'
a11y: Realize GtkStackPage parent context before trying to get a ref
Closes #4944
See merge request GNOME/gtk!4757
Sebastian Keller [Wed, 25 May 2022 12:56:05 +0000 (14:56 +0200)]
a11y: Realize GtkStackPage parent context before trying to get a ref
If a context is not realized, calling gtk_at_spi_context_to_ref() will
return a null ref, because its path has not been initialized yet. This
was already done for all other cases in get_parent_context_ref(), but
was missing for the GtkStackPage case.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4944
Matthias Clasen [Tue, 24 May 2022 16:46:18 +0000 (16:46 +0000)]
Merge branch 'pkgconfig' into 'main'
Meson: Simplify pkgconfig file generator
See merge request GNOME/gtk!4756
Luca Bacci [Tue, 24 May 2022 15:26:24 +0000 (15:26 +0000)]
Merge branch 'remove-emulated-scroll-events' into 'main'
Drop pointer_emulated discrete scroll events
See merge request GNOME/gtk!4694
Xavier Claessens [Tue, 24 May 2022 14:30:58 +0000 (10:30 -0400)]
Meson: Simplify pkgconfig file generator
Meson knows all private dependencies itself when passing the library as
first positional argument, no need to specify them manually. Also
simplify backend specific files by simply requiring gtk4, just like
unix-print already did.
This should fix generated gtk4-uninstalled.pc, see Meson bug report:
https://github.com/mesonbuild/meson/issues/10415
Manuel Zabelt [Tue, 24 May 2022 13:37:43 +0000 (13:37 +0000)]
Update docs/reference/gdk/gdk4-x11.toml.in
Manuel Zabelt [Tue, 24 May 2022 13:36:07 +0000 (13:36 +0000)]
GDK is LGPL-2.1-or-later not GPL-2.1-or-later, right?
Luca Bacci [Fri, 6 May 2022 11:50:23 +0000 (13:50 +0200)]
Drop pointer_emulated discrete scroll events
GTK4 has had smooth scroll events since the beginning, so we
prefer not to emit emulated discrete scroll events at all
Luca Bacci [Fri, 6 May 2022 11:45:06 +0000 (13:45 +0200)]
Wayland: Only send smooth scroll events for tablet tools
Luca Bacci [Tue, 24 May 2022 12:19:39 +0000 (12:19 +0000)]
Merge branch 'scroll-surface-unit-dpi-scale' into 'main'
DirectManipulation: Account for DPI scale
See merge request GNOME/gtk!4749
Luca Bacci [Thu, 19 May 2022 13:04:41 +0000 (15:04 +0200)]
DirectManipulation: Account for DPI scale
Emmanuele Bassi [Mon, 23 May 2022 14:54:13 +0000 (15:54 +0100)]
a11y: Implement atspi.Text.GetCharacterExtents for GtkTextView
Retrieve the location of a given offset in window-relative coordinate
space.
Matthias Clasen [Mon, 23 May 2022 14:08:43 +0000 (14:08 +0000)]
Merge branch 'blink-assertion' into 'main'
Remove an assertion that we hit
See merge request GNOME/gtk!4753
Matthias Clasen [Mon, 23 May 2022 12:43:25 +0000 (12:43 +0000)]
Merge branch 'otte-main-patch-30652' into 'main'
gesturedrag: Fix docs
See merge request GNOME/gtk!4752
Matthias Clasen [Mon, 23 May 2022 12:33:30 +0000 (12:33 +0000)]
Merge branch 'ci-meson-bump' into 'main'
CI: bump meson version from 0.59 to 0.60.3
See merge request GNOME/gtk!4751
Matthias Clasen [Mon, 23 May 2022 12:28:00 +0000 (08:28 -0400)]
Remove an assertion that we hit
It appears that we mess up accounting for blinking
cursors sometimes, and can hit blink_cb when there
is a nonempty selection.
Instead of asserting, warn and stop blinking.
Related: #4767
Aleksandr Melman [Mon, 23 May 2022 12:25:59 +0000 (12:25 +0000)]
Update Russian translation
Benjamin Otte [Sun, 22 May 2022 12:45:28 +0000 (12:45 +0000)]
gesturedrag: Fix docs
Leftover from GTK3. Coordinates are widget relative everywhere now.
Christian Kirbach [Sun, 22 May 2022 10:41:16 +0000 (10:41 +0000)]
Update German translation
(cherry picked from commit
7703aa5cd301f7dcff75db08b4acb2fa9b11c7d3)
Christoph Reiter [Sun, 22 May 2022 09:38:14 +0000 (11:38 +0200)]
CI: bump meson version from 0.59 to 0.60.3
We pull in glib main via a submodule in CI and glib has recently
bumped its meson requirement to >= 0.60:
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2641
Install 0.60.3 where needed to make things build again.
Víctor Marzo [Thu, 19 May 2022 09:35:14 +0000 (11:35 +0200)]
GtkIMContextSimple: array bounds was not correctly checked
Fixes #4771
Luca Bacci [Thu, 19 May 2022 09:05:50 +0000 (09:05 +0000)]
Merge branch 'fix-memory-leak' into 'main'
GdkWin32: Plug memory leak
See merge request GNOME/gtk!4747
Luca Bacci [Thu, 19 May 2022 06:49:05 +0000 (08:49 +0200)]
GdkWin32: Plug memory leak
Benjamin Otte [Wed, 18 May 2022 21:08:46 +0000 (21:08 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
nodeparser: Fix parsing of color-matrix node
See merge request GNOME/gtk!4745
Benjamin Otte [Wed, 18 May 2022 19:16:33 +0000 (21:16 +0200)]
nodeparser: Fix parsing of color-matrix node
Negative offsets in the color matrix were inverted because it used the
rect parser.
Benjamin Otte [Wed, 18 May 2022 18:27:29 +0000 (18:27 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
CI: Include reftest nodes in artifacts
See merge request GNOME/gtk!4743
Benjamin Otte [Wed, 18 May 2022 17:13:39 +0000 (19:13 +0200)]
CI: Include reftest nodes in artifacts
Hugo Carvalho [Wed, 18 May 2022 14:54:31 +0000 (14:54 +0000)]
Update Portuguese translation
Matthias Clasen [Wed, 18 May 2022 13:55:33 +0000 (13:55 +0000)]
Merge branch 'let_selectable_label_mnemonic_self_focus' into 'main'
Allow selectable labels contents to be selected by mnemonic
See merge request GNOME/gtk!4741
Caolán McNamara [Wed, 18 May 2022 11:40:40 +0000 (12:40 +0100)]
Allow selectable labels contents to be selected by mnemonic
expecially by the mnemonic of another label that targets it.
https://gitlab.gnome.org/GNOME/gtk/-/issues/4927
see also https://bugs.documentfoundation.org/show_bug.cgi?id=137748
Jordi Mas [Wed, 18 May 2022 11:32:32 +0000 (13:32 +0200)]
Update Catalan translation
Matthias Clasen [Wed, 18 May 2022 01:34:47 +0000 (01:34 +0000)]
Merge branch 'wip/chergert/fix-4934' into 'main'
checkbutton: fix critical when setting use-underline
Closes #4934
See merge request GNOME/gtk!4740
Christian Hergert [Tue, 17 May 2022 19:28:25 +0000 (12:28 -0700)]
checkbutton: fix critical when setting use-underline
This needs to make sure that we've created the label before applying the
setting on a child widget.
Fixes #4934
Benjamin Otte [Tue, 17 May 2022 00:19:01 +0000 (00:19 +0000)]
Merge branch 'wip/otte/for-main' into 'main'
testsuite: Add tests for label overdraw
See merge request GNOME/gtk!4737
Benjamin Otte [Mon, 16 May 2022 20:26:09 +0000 (22:26 +0200)]
testsuite: Add tests for label overdraw
This brings back a subset of what quit-mnemonic.ui tested for, but
trying a lot harder to trigger the label overdrawing its allocation,
which will cause the text to be cut off when clipping is happening.
It should not be an issue at all with GTK4, but keeping that test around
is a good idea.
Matthias Clasen [Mon, 16 May 2022 20:27:53 +0000 (20:27 +0000)]
Merge branch 'wip/chergert/fix-4625' into 'main'
gsk/gl: use critical instead of assert in dispose
Closes #4625
See merge request GNOME/gtk!4736
Christian Hergert [Mon, 16 May 2022 17:50:07 +0000 (10:50 -0700)]
gsk/gl: use critical instead of assert in dispose
Instead of asserting only in debug builds (which are generally not
shipped in distributions) we should deliver a critical log-level message
so that these can be found sooner when not developing with jhbuild,
Flatpak, etc.
Also assert that we've setup the state correctly when realizing the
GskGLRenderer object.
Fixes #4625